package com.webauto.util;

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;

import org.openqa.selenium.OutputType;
import org.openqa.selenium.TakesScreenshot;
import org.testng.ITestResult;
import org.testng.TestListenerAdapter;
import org.apache.commons.io.FileUtils;

import com.webauto.test_case.BaseCase;

/**
 * 截图工具类
 * @author lkk
 *
 */
public class ScreenShot extends TestListenerAdapter{
	/**
	 * 截图方法
	 * @param driver
	 */
	//public static WebDriver driver;

    @Override
    public void onTestFailure(ITestResult tr) {
        super.onTestFailure(tr);
        //用例失败后进行截图
        try {
            takeScreenShot(tr);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    public String takeScreenShot(ITestResult tr) throws IOException{
        SimpleDateFormat smf = new SimpleDateFormat("MMddHHmmss") ;
        String curTime = smf.format(new java.util.Date());
        String fileName = tr.getName()+"_"+curTime+".png";
        File srcFile = ((TakesScreenshot)BaseCase.driver).getScreenshotAs(OutputType.FILE);
        //把截图拷贝到自定义的目录
        String currentPath = System.getProperty("user.dir");
        String imgfile = currentPath+"\\screenshot\\"+fileName;
        FileUtils.copyFile(srcFile, new File(imgfile));
        return  "..\\screenshot\\"+fileName;
        /**
		 * 注意截图存放路径先不要随意修改，否则会影响报告中图片的显示。
		 * 当然如果你会调试，可以自定义设置。
		 */

    }
}
